前言:因为所在公司是小公司,经费有限,所以线下测试服务器数量不足。一直以来,开发与测试都是公用一套MySQL环境,然而由于开发与数据对于MySQL数据的需求不完全一致,导致日常工作中经常出现数据干扰,影响工作。因此,为了提高工作效率,决定将开发与测试的MySQL环境分离,然而当前手上只有一台服务器,条件有限,所以只能部署MySQL单机多实例。
MySQL服务器环境:Centos 7.1 + MySQL 5.6.24
- 创建数据目录
1 | mkdir -p /data/mysql /data/mysql2 |
- 初始化数据库
1 | scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql |
- 生成MySQL多实例配置文件
1 | mysqld_multi --example > /data/multi.cnf |
此处,我们采用的MySQL的官方解决方案mysqld_multi来实现。
- 配置MySQL多实例配置文件
1 | vim multi.cnf |
- 启动、关闭MySQL数据库多实例
1 | mysqld_multi --defaults-file=/data/multi.cnf start 1,2 |
- 配置管理脚本
为了管理方便,写一个简单的管理脚本。
1 | vim /etc/init.d/mysql_multi |
- 多实例MySQL登录
因为我们配置了多实例,在配置文件中指定了不同的sock文件,因此在服务器本地登录MySQL时需要指定sock文件。
1 | mysql -uroot -p -S /tmp/mysql.sock1 |